package com.three.storemanage.controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.three.core.entity.Store;
import com.three.core.vo.R;
import com.three.storemanage.service.StoreService;
import com.three.storemanage.vo.SearchForm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @FileName: StoreController
 * @Description:
 * @Author: GYX
 * @CreateTime: 2025/3/13 15:41
 * @Version: 1.0.0
 */
@RestController
@RequestMapping("/store")
public class StoreController {
    @Autowired
    private StoreService storeService;

    @PostMapping("/selectPageStore")
    public R<Page<Store>> findStoreByCondition(@RequestBody SearchForm searchForm) {
        return storeService.findStoreByCondition(searchForm);
    }

    @GetMapping("/deleteStore")
    public R deleteStoreById(Integer storeId) {
        return storeService.deleteStoreById(storeId);
    }

    @PostMapping("/updateStore")
    public R updateStore(@RequestBody Store store) {
        return storeService.updateStore(store);
    }

    @PostMapping("/insertStore")
    public R insertStore(@RequestBody Store store) {
        return storeService.insertStore(store);
    }

    @PostMapping("/selectByStoreId")
    public R<Store> selectStoreByStoreId(Integer storeId) {
        return storeService.selectStoreByStoreId(storeId);
    }

    @GetMapping("/selectAllStore")
    public R<List<Store>> selectAllStore() {
        return storeService.selectAllStore();
    }

    @PostMapping("/selectStoreBind")
    public R<List<Store>> selectStoreByUserId(Integer userId) {
        return storeService.selectStoreByUserId(userId);
    }

    @PostMapping("/searchStore")
    public R<List<Store>> selectStoreByStoreName(String storeName) {
        return storeService.selectStoreByStoreName(storeName);
    }
}
